Less is more: Minimizing code reorganization using XTREE
نویسندگان
چکیده
Context: Developers use bad code smells to guide code reorganization. Yet developers, text books, tools, and researchers disagree on which bad smells are important. Objective: To evaluate the likelihood that a code reorganization to address bad code smells will yield improvement in the defectproneness of the code. Method: We introduce XTREE, a tool that analyzes a historical log of defects seen previously in the code and generates a set of useful code changes. Any bad smell that requires changes outside of that set can be deprioritized (since there is no historical evidence that the bad smell causes any problems). Evaluation: We evaluate XTREE’s recommendations for bad smell improvement against recommendations from previous work (Shatnawi, Alves, and Borges) using multiple data sets of code metrics and defect counts. Results: Code modules that are changed in response to XTREE’s recommendations contain significantly fewer defects than recommendations from previous studies. Further, XTREE endorses changes to very few code metrics, and the bad smell recommendations (learned from previous studies) are not universal to all software projects. Conclusion: Before undertaking a code reorganization based on a bad smell report, use a tool like XTREE to check and ignore any such operations that are useless; i.e. ones which lack evidence in the historical record that it is useful to make that change. Note that this use case applies to both manual code reorganizations proposed by developers as well as those conducted by automatic methods. This recommendation assumes that there is an historical record. If none exists, then the results of this paper could be used as a guide (see our Table 8).
منابع مشابه
XTree for Declarative XML Querying
How to query XML documents to extract and restructure the information is an important issue in XML research. Currently, XQuery based on XPath is the most promising standard of W3C. In this paper, we introduce a new set of syntax rules called XTree, which is a generalization of XPath. XTree has a tree structure, and a user can bind multiple variables in one XTree expression. It explicitly identi...
متن کاملXDO2: A Deductive Object-Oriented Query Language for XML
In the past decade, researchers have combined deductive and object-oriented features to produce systems that are powerful and have excellent modeling capabilities. More recently, an XML query language XTree was proposed. Queries written in XTree are more compact, more convenient to write and easier to understand than queries written in XPath. In this paper, we introduce a novel XML query langua...
متن کاملEffective Instruction Scheduling With Limited Registers
Effective global instruction scheduling techniques have become an important component in modern compilers for exposing more instruction-level parallelism (ILP) and exploiting the everincreasing number of parallel function units. Effective register allocation has long been an essential component of a good compiler for reducing memory references. While instruction scheduling and register allocati...
متن کاملCLASSIFICATION OF THE FEED-RATE OPTIMIZATION TECHNIQUES: A CASE STUDY IN MINIMIZING CNC MACHINING TIME
Along with increasingly development of CAD/CAM software and their application in various industries, minimizing of the machining time is found to be more important. In this paper, firstly the concerning subjects are discussed regarding classification of the optimization techniques. These are programming techniques, high speed machining techniques and feed rate optimization techniques. As a case...
متن کاملThe 1942 Reorganization of the Government Code and Cypher School
This paper analyses the organization of the Government Code and Cypher School (GC & CS) at Bletchley Park during the Second World War. The complexities and peculiarities of the organization are overviewed and a periodization provided. The main focus is on the pivotal 1942 reorganization which is explained in terms of the changing scale of GC & CS following the successful attack on the Enigma ma...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Information & Software Technology
دوره 88 شماره
صفحات -
تاریخ انتشار 2017